package com.su.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import net.sf.json.JSONObject;

import org.springframework.stereotype.Service;

import com.su.tools.DaoSupport1;
import com.su.tools.PageData;
import com.su.util.UuidUtil;


@Service("applyUserService")
public class ApplyUserService {
	@Resource(name = "daoSupport1")
	private DaoSupport1 dao;
	private JSONObject json = new JSONObject();
	private PageData retPd;
	private List<PageData> retListPd;
	public JSONObject invoke(PageData pd) throws Exception {
		//
		
		String pa = pd.getString("params");
		
		if (pd.getString("params").equals("CKL01")) {
			this.CKL01(pd);
		} else if(pd.getString("params").equals("REG01")){
			this.REG01(pd);
		} else if(pd.getString("params").equals("LOG01")){
			this.LOG01(pd);
		} else if(pd.getString("params").equals("UAU01")){
			this.UAU01(pd);
		} else if(pd.getString("params").equals("GPVE01")){
			this.GPVE01(pd);
		} else if(pd.getString("params").equals("GDYM01")){
			this.GDYM01(pd);
		} else if(pd.getString("params").equals("GDYMBYPC01")){
			this.GDYMBYPC01(pd);
		} else if(pd.getString("params").equals("GDYMBYC01")){
			this.GDYMBYC01(pd);
		} else if(pd.getString("params").equals("GPD01")){
			this.GPD01(pd);
		} else if(pd.getString("params").equals("GPDPM01")){
			this.GPDPM01(pd);
		} else if(pd.getString("params").equals("EXLOG01")){
			this.EXLOG01(pd);
		} else if(pd.getString("params").equals("GPWD01")){
			this.GPWD01(pd);
		} else{		
			json.put("code","100");
			json.put("msg", "没有找到该业务代码");
			return json;
		}
		return json;
	}
	
	
	
	private void GPWD01(PageData pd) {
		try {		
			pd.getRequest().getSession().setAttribute("portalUser", "");
			json.put("state", "200");
			json.put("msg", "获取成功");
			json.put("data", retListPd);		
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}	
	
	private void EXLOG01(PageData pd) {
		try {		
			pd.getRequest().getSession().setAttribute("portalUser", "");
			json.put("state", "200");
			json.put("msg", "获取成功");
			json.put("data", retListPd);		
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}	
	
	private void GPDPM01(PageData pd) {
		try {		
			retListPd=dao.getList("ApplyUserMapper.getPartDepartMent", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retListPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}
	
	private void GPD01(PageData pd) {
		try {		
			retListPd=dao.getList("ApplyUserMapper.getPartDynamic", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retListPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}
	
	private void GDYMBYC01(PageData pd) {
		try {		
			retPd=dao.getOne("ApplyUserMapper.getAllDynamicByCode", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}
	
	private void GDYMBYPC01(PageData pd) {
		try {		
		    retListPd=dao.getList("ApplyUserMapper.getAllDynamicByParentCode", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retListPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}	
	
	private void GDYM01(PageData pd) {
		try {		
		    retListPd=dao.getList("ApplyUserMapper.getAllDynamic", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retListPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}		
	
	private void GPVE01(PageData pd) {
		try {		
		    retListPd=dao.getList("ApplyUserMapper.getDicByParentId", pd);
			if(retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "获取成功");
				json.put("data", retListPd);
			}else{
				json.put("state", "400");
				json.put("msg", "获取数据失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "400");
			json.put("msg", "获取数据失败");
			json.put("data", "");
		}
	}	
	
	private void UAU01(PageData pd) {
		try {		
			PageData userPd =  (PageData)pd.getRequest().getSession().getAttribute("portalUser");
			pd.put("PHONE_NUMBER", userPd.get("PHONE_NUMBER"));
			pd.put("PASSWORD", userPd.get("PASSWORD"));
			int count=dao.update("ApplyUserMapper.updateApplyUser", pd);
			if(count>0 ){
				json.put("state", "200");
				json.put("msg", "保存成功");
				//json.put("data", retPd);
				pd.getRequest().getSession().setAttribute("portalUser", pd);
			}else{
				json.put("state", "400");
				json.put("msg", "保存失败,请重试");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}	
	
	private void LOG01(PageData pd) {
		try {			
			retPd=dao.getOne("ApplyUserMapper.getPortalUser", pd);
			if(retPd!=null && retPd.size()>0 ){
				json.put("state", "1");
				json.put("msg", "登录成功");
				//json.put("data", retPd);
				pd.getRequest().getSession().setAttribute("portalUser", retPd);
			}else{
				json.put("state", "0");
				json.put("msg", "登录失败,请重新登录");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}
	
	
	private void REG01(PageData pd) {
		try {			
			retPd=dao.getOne("ApplyUserMapper.existPortalUser", pd);
			String puser=null;
			String obj = retPd.get("COUNT").toString();
			
			if((Integer.parseInt(retPd.get("COUNT").toString()))!=0){
				json.put("state", "0");
				json.put("msg", "当前手机用户已存在,请重新输入");
				json.put("data", "");
			}else{
				Date d = new Date();
		        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		        String dateNow = sdf.format(d);
		        pd.put("CREATE_DATE", dateNow);
		        pd.put("CODE", UuidUtil.get32UUID());		        
				int	rows=dao.insert("ApplyUserMapper.insertApplyUser", pd);
				if(rows>0){
					json.put("state", "1");
					json.put("msg", "注册成功");
					pd.getRequest().getSession().setAttribute("portalUser", pd);					
				}else{
					json.put("status", "false");
				}	
			}			
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "注册失败");
			json.put("data", "");
		}
	}
	
	
	private void CKL01(PageData pd) {
		try {
			PageData puser =  (PageData)pd.getRequest().getSession().getAttribute("portalUser");		
			if(puser.get("PHONE_NUMBER") == null || "".equals(puser.get("PHONE_NUMBER"))){
				json.put("state", "0");
				json.put("msg", "不存在当前用户");
				json.put("data", "");
			}else {
				json.put("state", "1");
				json.put("msg", "存在当前用户");
				json.put("data", puser);				
			}					
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}
}
